import axios from "axios";

export default {
  getRadioType: (params) => {
    // 获取电台分类
    // http://localhost:3000/dj/catelist
    return axios.get("/dj/catelist", params);
  },

  getProgrammRrecommend: (params) => {
    // 获取推荐节目列表
    // http://localhost:3000/program/recommend
    return axios.get("/program/recommend", params);
  },

  getProgrammRank: (limit = 10) => {
    // 获取节目排行榜
    // /dj/program/toplist?limit=10
    return axios.get("/dj/program/toplist?limit=" + limit);
  },
  getRadioListByType: (params) => {
    // 电台 分类推荐
    // /dj/recommend/type?type=2001 (创作|翻唱)
    return axios.get("/dj/recommend/type?type=" + params);
  },

  getAllRadios: (id, offset, limit = 30) => {
    // 电台 - 类别热门电台
    // 可选参数 :
    // limit : 返回数量 , 默认为 30
    // offset : 偏移数量，用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
    // cateId: 类别 id,可通过 /dj/category/recommend 接口获取
    // 接口地址 : /dj/radio/hot
    // 调用例子 : /dj/radio/hot?cateId=2001(创作|翻唱) /dj/radio/hot?cateId=10002 (3D|电子)
    return axios.get(
      "/dj/radio/hot?cateId=" + id + "&offset=" + offset + "&limit=" + limit
    );
  },

  getRadioDetail: (id) => {
    // 电台 - 节目详情
    // 说明 : 调用此接口传入电台节目id,可获得电台节目详情
    // 必选参数 : id: 电台节目 的 id
    // 接口地址 : /dj/program/detail
    // 调用例子 : /dj/program/detail?id=1367665101
    return axios.get("/dj/program/detail?id=" + id);
  },

  getCommentById: (type, id, offset, limit = 20) => {
    // 获取电台节目评论
    // 必选参数 : id: 电台节目的 id
    // 可选参数 : limit: 取出评论数量 , 默认为 20
    // offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
    // before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过5000条评论的时候需要用到)
    // 接口地址 : /comment/dj
    // 调用例子 : /comment/dj?id=794062371
    // http://localhost:3000/comment/dj?id=2068313683
    if (offset)
      return axios.get(
        "/comment/" +
          type +
          "?id=" +
          id +
          "&offset=" +
          offset +
          "&limit=" +
          limit
      );
    else return axios.get("/comment/" + type + "?id=" + id);
  },
  getLoginStatus: (params) => {
    // 获取登录状态
    return axios.get("/login/status", params);
  },

  sendComment: (type, id, content) => {
    // 发送评论
    // t=1   发送评论
    // type  是资源类型    0: 歌  1: mv  2: 歌单  3: 专辑   4: 电台   5: 视频   6: 动态
    // commentId :回复的评论id (回复评论时必填)
    return axios.get(
      "/comment?t=1&type=" + type + "&id=" + id + "&content=" + content
    );
  },

  getDjRadioDetial: (id) => {
    //   电台 - 详情
    // 说明 : 登陆后调用此接口 , 传入rid, 可获得对应电台的详情介绍
    // 必选参数 : rid: 电台 的 id
    // 接口地址 : /dj/detail
    // 调用例子 : /dj/detail?rid=336355127 ( 对应 ' 代码时间 ' 的详情介绍 )

    return axios.get("/dj/detail?rid=" + id);
  },

  getDjProgram: (id,asc, offset,limit = 100,) => {
    //     电台 - 节目
    // 说明 : 登陆后调用此接口 , 传入rid, 可查看对应电台的电台节目以及对应的 id,
    //       需要 注意的是这个接口返回的 mp3Url 已经无效 , 都为 null, 但是通过调用 /song/url 这 个接口 ,
    //       传入节目 id 仍然能获取到节目音频 , 如 /song/url?id=478446370 获取代 码时间的一个节目的音频
    // 必选参数 : rid: 电台 的 id
    // 可选参数 :
    // limit : 返回数量 , 默认为 30
    // offset : 偏移数量，用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
    // asc : 排序方式,默认为 false (新 => 老 ) 设置 true 可改为 老 => 新
    // 接口地址 : /dj/program
    // 调用例子 : /dj/program?rid=336355127&limit=40 ( 对应 ' 代码时间 ' 的节目列表 )
    if (offset)
      return axios.get(
        "/dj/program?rid=" + id + "&limit=" + limit + "&offset=" + offset+"&asc="+asc
      );
    else return axios.get("/dj/program?rid=" + id + "&limit=" + limit+"&asc="+asc);
  },
};
